From: Olaf Hering Date: Fri, 23 Nov 2012 11:06:15 +0000 (+0000) Subject: xend: enable environment passing in xPopen3 X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~7617 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=4369b2cd6fbeb34c537a68df26debb0ab36026f9;p=xen.git xend: enable environment passing in xPopen3 In changeset 19990:38dd208e1d95 a new parameter 'env' was added to xPopen3, but no code was added to actually pass the environment down to execvpe. Also, the new code was unreachable. Signed-off-by: Olaf Hering Acked-by: Ian Campbell Committed-by: Ian Campbell --- diff --git a/tools/python/xen/util/xpopen.py b/tools/python/xen/util/xpopen.py index 66c2d9a5d8..75aa08e678 100644 --- a/tools/python/xen/util/xpopen.py +++ b/tools/python/xen/util/xpopen.py @@ -104,7 +104,7 @@ class xPopen3: os.dup2(c2pwrite, 1) if capturestderr: os.dup2(errin, 2) - self._run_child(cmd) + self._run_child(cmd, env) os.close(p2cread) self.tochild = os.fdopen(p2cwrite, 'w', bufsize) os.close(c2pwrite) @@ -116,7 +116,7 @@ class xPopen3: self.childerr = None _active.append(self) - def _run_child(self, cmd): + def _run_child(self, cmd, env): if isinstance(cmd, basestring): cmd = ['/bin/sh', '-c', cmd] for i in range(3, MAXFD): @@ -127,7 +127,6 @@ class xPopen3: except OSError: pass try: - os.execvp(cmd[0], cmd) if env is None: os.execvp(cmd[0], cmd) else: